package com.zoe.onelink.annotation.gateway;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <p>标题: </p>
 * <p>描述: </p>
 * <p>版权: Copyright (c) 2022</p>
 * <p>公司: 智业软件股份有限公司</p>
 *
 * @version: 1.0
 * @author: ruansheng
 * @date: 2022-11-01
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface GatewayDynamicRoute {

    /**
     * 路由优先级,默认-2000
     */
    int order() default -2000;

    /**
     * 连接超时
     */
    int connectTimeoutSeconds() default 5;

    /**
     * 响应超时
     */
    int responseTimeoutSeconds();

    /**
     * 断言器列表
     */
    String[] predicates() default {};

    /**
     * 过滤器列表
     */
    String[] filters() default {"StripPrefix=1"};

    /**
     * 元数据
     */
    String[] metadata() default {};

}
